package br.com.verde.exemploteca.selftypeannotation
// Based from http://www.scala-lang.org/node/124
abstract class Graph {
  type Edge
  type Node <: NodeIntf
  
  abstract class NodeIntf {
    def connectWith(node: Node): Edge
  }
  
  def nodes: List[Node]
  def edges: List[Edge]
  def addNode: Node
}
